package org.ehe.erp.domain.quality.vo;

import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.ehe.erp.domain.product.ErpProduct;
import org.ehe.erp.domain.product.vo.ErpProductVo;
import org.ehe.erp.domain.quality.ErpQualityRecord;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 质检记录详情视图对象
 *
 * @author zhangnn
 * @className ErpQualityRecordVo
 * @description 质检记录详情VO，用于数据传输和展示
 * @date 2025-09-10 15:00:00
 */
@Data
@AutoMapper(target = ErpQualityRecord.class)
public class ErpQualityRecordVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private Long id;
    private Long taskId;

    private String bomCode;
    private String bomName;
    private String orderNo;
    private Long productId;
    private ErpProductVo productVo;

    private Long itemId;
    private String itemName;
    private Integer checkResult;
    private String actualValue;
    private String standardValue;
    private String checkPerson;
    private LocalDateTime checkTime;
    private String remark;
    private Date createTime;
    private Date updateTime;
    private String tenantId;
    private String createBy;
    private String updateBy;
    //问题反馈
    private List<ErpQualityFeedbackVo> feedbackVos;

    /**
     * 预估完成小时数
     */
    private Integer estimatedHours;
    /**
     * 任务截止时间
     */
    private LocalDateTime taskDeadline;

    /**
     * 任务是否超期
     */
    private String isTaskTimeout;

    /**
     * 响应是否超期：处理状态：0-未处理，1-已处理，2-已超期,3-超期未处理，4超期已处理
     */
    private String isOverdue;

    /**
     * 响应 截止时间
     */
    private LocalDateTime isOverdueEndTime;
}
